home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / wcomm111.zip / TCP.ZIP / WARPCOMM.HPP < prev    next >
C/C++ Source or Header  |  1991-02-02  |  2KB  |  59 lines

  1. //          Warp Communications Library
  2. //          Copyright (C) 1991 Trevor Bell, All Rights Reserved
  3.  
  4. class COM_port {
  5.     volatile unsigned char *receive_buffer;
  6.     volatile unsigned char *xmit_buffer;
  7.  
  8.     unsigned int receive_buffer_size;
  9.     unsigned int xmit_buffer_size;
  10.  
  11.     volatile unsigned int xmit_tail, xmit_head;
  12.     volatile unsigned int receive_tail, receive_head;
  13.     unsigned int
  14.     base,       // base register
  15.     ier_reg,    // interrupt enable register
  16.     iir_reg,    // interrupt identification register
  17.     lcr_reg,    // line control register
  18.     mcr_reg,    // modem control register
  19.     lsr_reg,    // line status register
  20.     msr_reg;    // modem status register
  21.  
  22.     unsigned int port_num;
  23.     void interrupt (far *old_async)(...);
  24.  
  25. public:
  26.     int CD;
  27.     unsigned int async_irq;
  28.     unsigned int com_baudrate;
  29.     void isr(void);
  30.     void set_baudrate(unsigned int baud_rate);
  31.     int char_waiting(void);
  32.     void send_modem_string(char *s);
  33.     void set_rts(unsigned int i);
  34.     void set_dtr(unsigned int i);
  35.     void clear_receive_buffer(void);
  36.     void clear_xmit_buffer(void);
  37.     void open(unsigned int port, unsigned int baud_rate, unsigned int irq,
  38.         unsigned int base_address, unsigned int r_size, unsigned int x_size);
  39.     void close(void);
  40.     void out_buf(unsigned char *s, unsigned int length);
  41.     void get_buf(unsigned char *s, unsigned int length);
  42.     unsigned char read_ier (void);
  43.     unsigned char read_lcr (void);
  44.     unsigned char read_mcr (void);
  45.     unsigned char read_lsr (void);
  46.     unsigned char read_msr (void);
  47.     COM_port& operator<< (char ch1);
  48.     COM_port& operator<< (unsigned char ch1);
  49.     COM_port& operator<< (char *s);
  50.     COM_port& operator<< (unsigned int &s);
  51.     COM_port& operator>> (char &ch1);
  52.     COM_port& operator>> (unsigned char &ch1);
  53.     COM_port& operator>> (unsigned int &s);
  54.     COM_port& operator>> (char *s);
  55.     COM_port(void);
  56. };
  57.  
  58. extern COM_port remote[8];
  59.